import request from '@/utils/request'
//获取员工列表
//GET 请求:
// 通常情况下，params 用于 GET 请求。这种请求从服务器获取数据，参数通常附加在 URL 之后，作为查询字符串。
// 例如：/sys/user?param1=value1&param2=value2。
// POST 请求:
// data 通常用于 POST 请求，这种请求向服务器发送数据，参数在请求体中传递。
// 例如：在请求体中发送一个 JSON 对象。
// 查询参数 vs. 请求体:
// params 适合传递小规模的查询条件，如过滤、排序等，而 data 更加适合传递较大或复杂的数据结构。
// 在获取列表数据时，通常只需要简单的过滤条件，因此使用 params 更加合适。
export function getEmployeeList(params) {
    return request({
        url: '/sys/user',
        params//地址参数 查询地址
    })
}
//导出员工的接口
export function exportEmployee(){
    return request({
        url:'sys/user/export',
        //改变接受数据的类型
        responseType:'blob'//用blob来接收二进制流
    })
}  
// 下载员工的导入模板
export function getExportTemplate(){
  return request({
    url:'/sys/user/import/template',
    responseType:'blob'//二进制文件流
  })
}
//批量导入员工，上传用户的excel
export function uploadExcel(data){
  return request({
    url:'./sys/user/import',
    method:'post',
    data  //form-data类型，因为要上传文件
  })
}
// //删除员工
export function delEmployee(id){
    return request({
        method:'delete',
        url:`/sys/user/${id}`
    })
}
//新增员工
export function addEmployee(data){
    return request({
    url:'/sys/user',
    method:'post',
    data
  })
  }
  //获取员工详情
  export function getEmployeeDetail(id){
    return request({
      url:`/sys/user/${id}`
    })
  }

  //更新员工接口
  export function updataEmployee(data){
    return request({
      url:`/sys/user/${data.id}`,
      method:'put',
      data
    })
  }
  //获取可用的角色
  export function getEnableRoleList(){
    return request({
      url:'/sys/role/list/enabled'
    })
  }
  //分配员工角色
  export function assignRole(data){
    return request({
      url:'/sys/user/assignRoles',
      method:'put',
      data
    })
  }
